// VincentDoc.h : interface of the CVincentDoc class
//
/////////////////////////////////////////////////////////////////////////////

#if !defined(AFX_VINCENTDOC_H__8115F665_CC10_4750_9E91_26FA2746273D__INCLUDED_)
#define AFX_VINCENTDOC_H__8115F665_CC10_4750_9E91_26FA2746273D__INCLUDED_

#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000


// CWorkHistory 클래스를 사용하기 위해 포함한다.
#include "WorkHistory.h"


class CVincentDoc : public CDocument
{
private:
	CSize m_sizeNewDocument;
	COLORREF m_colorNewDocBackground;
	COLORREF m_colorNewDocForeground;
	CWorkHistory m_WorkHistory;		// 작업내용을 관리할 워크히스토리. 이 프로그램의 포인트!
	CSize m_sizeImage;				// 이미지의 사이즈를 저장할 멤버변수
	COLORREF m_rgbForeground;		// 전경색
	COLORREF m_rgbBackground;		// 배경색
	int m_nPenWidth;				// 펜 굵기
	BOOL m_bFillOut;				// 색칠 할지/안할지 체크
	UINT m_nToolBarID;				// 현재의 툴바 종류를 저장할 변수

protected: // create from serialization only
	CVincentDoc();
	DECLARE_DYNCREATE(CVincentDoc)

// Attributes
public:

// Operations
public:

// Overrides
	// ClassWizard generated virtual function overrides
	//{{AFX_VIRTUAL(CVincentDoc)
	public:
	virtual BOOL OnNewDocument();
	virtual void Serialize(CArchive& ar);
	//}}AFX_VIRTUAL

// Implementation
public:
	CDC* GetCacheDC();
	BOOL OnResetDocument(CSize imagesize, COLORREF foreground, COLORREF background);
	void SetToolsType(UINT nID);
	UINT GetToolsType();
	int GetPenWidth();
	void SetPenWidth(int width);
	BOOL GetFillOut();
	void SetFillOut(BOOL fill);
	COLORREF GetBackgroundColor();
	void SetBackgroundColor(COLORREF color);	// 배경색을 설정한다.
	COLORREF GetForegroundColor();				// 전경색을 얻어온다.
	void SetForegroundColor(COLORREF color);	// 전경색을 설정한다.
	CWorkHistory* GetWorkHistory();				// m_WorkHistory를 얻어온다.
	CSize GetImageSize();						// 이미지 사이즈를 얻어온다.
	virtual ~CVincentDoc();
#ifdef _DEBUG
	virtual void AssertValid() const;
	virtual void Dump(CDumpContext& dc) const;
#endif

protected:

// Generated message map functions
protected:
	//{{AFX_MSG(CVincentDoc)
		// NOTE - the ClassWizard will add and remove member functions here.
		//    DO NOT EDIT what you see in these blocks of generated code !
	//}}AFX_MSG
	DECLARE_MESSAGE_MAP()
};

/////////////////////////////////////////////////////////////////////////////

//{{AFX_INSERT_LOCATION}}
// Microsoft Visual C++ will insert additional declarations immediately before the previous line.

#endif // !defined(AFX_VINCENTDOC_H__8115F665_CC10_4750_9E91_26FA2746273D__INCLUDED_)
